﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Diagnostics;
using Datos.Entidades;
using Datos.Entidades.FabricaEntidades;
using Subgurim.Controles;

namespace Logica.Comandos
{

    public abstract class Comando
    {
        protected Boolean _prop;

        protected Boolean Prop
        {
            get { return _prop; }
            set { _prop = value; }
        }
        protected Entidad _entidades;

        protected Entidad Entidades
        {
            get { return _entidades; }
            set { _entidades = value; }
        }

        protected Entidad _categoria;
        
        public Entidad Categoria
        {
            get { return _categoria; }
            set { _categoria = value; }
        }
        private List<Entidad> _listaEntidad;
        //Para poder retornar una lista de cualquier objeto sin cambiar el metodo Ejecutar()
        public List<Entidad> ListaEntidad
        {
            get { return _listaEntidad; }
            set { _listaEntidad = value; }
        }
        //Para poder retornar cualquier objeto sin cambiar el metodo Ejecutar()
        private Entidad _entidad;

        public Entidad Entidad
        {
            get { return _entidad; }
            set { _entidad = value; }
        }
        //Para poder buscar por id sin cambiar el metodo Ejecutar()
        private int _id;

        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        //Para poder retornar un bool sin cambiar el metodo Ejecutar()
        private bool _flag;

        public bool Flag
        {
            get { return _flag; }
            set { _flag = value; }
        }

        private String _cadena;

        public String Cadena
        {
            get { return _cadena; }
            set { _cadena = value; }
        }

        private String _tipo;

        public String Tipo
        {
            get { return _tipo; }
            set { _tipo = value; }
        }

        private GMarkerOptions _GMa;


        public GMarkerOptions GMa
        {
            get { return _GMa; }
            set { _GMa = value; }
        }


        public abstract void Ejecutar();



       



    }
    
}
